Class: Gitara::Node::Base::NodeVersion

Inherits:
Valuable
  • Object
show all
Defined in:
lib/gitara/node/base/node_version.rb

Direct Known Subclasses

ChordedVersion, StanzaVersion, VoicedVersion

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#$1($1) ⇒ Object



7
# File 'lib/gitara/node/base/node_version.rb', line 7

has_value :node

Instance Method Details

#call_nameObject



9
10
11
# File 'lib/gitara/node/base/node_version.rb', line 9

def call_name
  "\\#{definition_name}"
end

#call_valueObject



13
14
15
# File 'lib/gitara/node/base/node_version.rb', line 13

def call_value
  node.call_value(self)
end

#definition_childrenObject



17
18
19
# File 'lib/gitara/node/base/node_version.rb', line 17

def definition_children
  node.definition_children.map{|child| self.class.new(:node => child)}
end

#definition_nameObject



21
22
23
# File 'lib/gitara/node/base/node_version.rb', line 21

def definition_name
  "#{prefix}#{node.class.to_s.split('::').last}#{node.definition_name}"
end

#nodeObject



7
# File 'lib/gitara/node/base/node_version.rb', line 7

has_value :node

#prefixObject



25
26
27
# File 'lib/gitara/node/base/node_version.rb', line 25

def prefix
  self.class.to_s.split('::').last[0].downcase
end

#valueObject



29
30
31
# File 'lib/gitara/node/base/node_version.rb', line 29

def value
  definition_children.map(&:call_value).join(' ')
end